package com.qzdsoft.erpcloud.service.stock;

import java.util.List;
import java.util.Map;

import com.qzdsoft.erpcloud.domain.stock.StockInbound;
import com.qzdsoft.erpcloud.vo.stock.StockInboundInfo;
import com.qzdsoft.erpcloud.vo.stock.StockInboundQueryInfo;
import com.qzdsoft.vo.LayTableResponse;
import com.qzdsoft.vo.Response;

/**
 * 采购入库单
 * @author pc-20170422
 *
 */
public interface StockInboundService {
	/**
	 * 指定条件查询采购入库单
	 * 查询表头数据
	 * @param info
	 * @return
	 */
	LayTableResponse<StockInboundInfo> findStockInboundOrdersBy(StockInboundQueryInfo info);
	/**
	 * 根据主键查询一条记录
	 * @param id
	 * @return
	 */
	StockInboundInfo findStockInboundOrderBy(Integer id);
	/**
	 * 采购订单修改保存
	 * @param info
	 * @return
	 */
	Response<String> edit(StockInbound info);
	/**
	 * 入库单表头新增保存
	 * @param info
	 * @return
	 */
	Response<String> save(StockInbound info);
	/**
	 * 采购入库单删除
	 * @param id
	 * @return
	 */
	Response<String> del(Integer id);
	/**
	 * 采购入库审核
	 * @param id
	 * @return
	 */
	Response<String> review(Integer id);
	/**
	 * 采购入库弃审
	 * @param id
	 * @return
	 */
	Response<String> celview(Integer id);
	
	/**
	 * 采购入库关闭
	 * @param id
	 * @return
	 */
	Response<String> close(Integer id);
	/**
	 * 选择来源单号带出单据信息(采购订单)
	 * @param id
	 * @return
	 */
	Response selectBySourceId(Integer id);
	/**
	 * 选择来源单号带出单据信息(销售出库单)
	 */
	Response selectByOutOrderId(Integer id);
}
